<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="zh" xml:lang="zh" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Tool Mentor: 使用 Rational Rose 管理子系统</title>
<meta name="uma.type" content="ToolMentor">
<meta name="uma.name" content="manage_subsystems">
<meta name="uma.presentationName" content="使用 Rational Rose 管理子系统">
<meta name="uma.category" content="Tool:rup_rose_classic:Rational Rose">
<meta name="element_type" content="tool_mentor">
<meta name="tool" content="Rational Rose">
<meta name="filetype" content="description">
<meta name="role" content="">
<link rel="StyleSheet" href="./../../../css/default.css" type="text/css">
<script src="./../../../scripts/ContentPageResource.js" type="text/javascript" language="JavaScript"></script><script src="./../../../scripts/ContentPageSection.js" type="text/javascript" language="JavaScript"></script><script src="./../../../scripts/ContentPageSubSection.js" type="text/javascript" language="JavaScript"></script><script src="./../../../scripts/ContentPageToolbar.js" type="text/javascript" language="JavaScript"></script><script src="./../../../scripts/contentPage.js" type="text/javascript" language="JavaScript"></script><script type="text/javascript" language="JavaScript">
					var backPath = './../../../';
					var imgPath = './../../../images/';
					var nodeInfo=null;
					contentPage.preload(imgPath, backPath, nodeInfo,  '', false, false, false);
				</script>
</head>
<body>
<div id="breadcrumbs"></div>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top"><a name="Top"></a>
<div id="page-guid" value="{6943FA40-808B-4E3E-94FE-D7843FA59E91}"></div>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr>
<td class="pageTitle" nowrap="true">Tool Mentor: 使用 Rational Rose 管理子系统</td><td width="100%">
<div align="right" id="contentPageToolbar"></div>
</td><td width="100%" class="expandCollapseLink" align="right"><a name="mainIndex" href="./../../../index.htm"></a><script language="JavaScript" type="text/javascript" src="./../../../scripts/treebrowser.js"></script></td>
</tr>
</table>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td class="pageTitleSeparator"><img src="./../../../images/shim.gif" alt="" title="" height="1"></td>
</tr>
</table>
<div class="overview">
<table width="97%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="50"><img src="./../../../images/toolmentor.gif" alt="" title=""></td><td>
<table class="overviewTable" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top">此工具向导描述在 Rational Rose 中如何表示设计子系统和相关工作产品。</td>
</tr>
<tr>
<td>Tool: <a href="./../../../rup/tools/rup_rose_classic_20F2524D.html" guid="{06FB737B-5D74-4C3B-98F4-36153CFB2E34}">Rational Rose</a> </td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<div class="sectionHeading">Relationships</div>
<div class="sectionContent">
<table class="sectionTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<th class="sectionTableHeading" scope="row">Related Elements</th><td class="sectionTableCell">
<ul>
<li>
<a href="./../../../rup/tasks/identify_design_elements_E884AB82.html" guid="{97D7343A-6993-4AB7-8F86-4DAC8C9075C8}">确定设计元素</a>
</li>
<li>
<a href="./../../../rup/tasks/subsystem_design_5D1BCC0C.html" guid="{CAA385CA-2BA2-40F2-8FE3-E21089D02119}">子系统设计</a>
</li>
</ul>
</td>
</tr>
</table>
</div>
<div class="sectionHeading">Main Description</div>
<div class="sectionContent">
<table class="sectionTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<td class="sectionTableSingleCell"><a id="Top" name="Top"></a> 
<h3>
    概述
</h3>
<p>
    要管理子系统，需执行以下步骤：
</p>
<ol>
    <li class="mvd-P">
        <a href="#Creating Subsystems in the Design Model">在设计模型中创建子系统</a>
    </li>
    <li class="mvd-P">
        <a href="#Creating Subsystem Interfaces">创建子系统接口</a>
    </li>
    <li class="mvd-P">
        <a href="#Creating Classes within the Subsystem">在子系统内创建类</a>
    </li>
    <li class="mvd-P">
        <a href="#Documenting Package and Subsystem Dependencies">记录程序包与子系统的依赖关系</a>
    </li>
    <li class="mvd-P">
        <a href="#Documenting Subsystem Contents">记录子系统内容</a>
    </li>
    <li class="mvd-P">
        <a href="#Documenting Subsystem Behavior">记录子系统行为</a>
    </li>
</ol>
<h3>
    1. <a id="Creating Subsystems in the Design Model" name="Creating Subsystems in the Design Model"></a>在设计模型中创建子系统
</h3>
<p>
    可通过在设计模型中创建程序包并使用“程序包规约”为其分配一个构造型“子系统”来创建子系统。
</p>
<p>
    要在 Rational Rose 的时序图和协作图中显示子系统，应该在图中创建一个充当该子系统“代理”的类。要在子系统中创建该类，请阅读<a class="elementLinkWithUserText" href="./../../../rup/guidances/toolmentors/manage_class_E87F7860.html" guid="{234EB01D-88DF-4EBC-B806-CAA81CD2BF13}">工具向导：管理类</a>中有关创建类的信息。该“代理”类的名称应该与子系统相同，并且应构造为“子系统代理”，以便表明它作为该子系统的“代理”而存在。
</p>
<p>
    <img height="16" alt="帮助手册图标" hspace="0" src="./../../../rup/resources/helpbook.gif" width="16" border="0" />有关更多信息，请参考 Rational
    Rose 联机帮助中的以下主题：
</p>
<ul>
    <li class="mvd-P">
        <span style="FONT-STYLE: italic">How To &gt; Create and Work in a Model &gt;Create and Display Stereotypes</span>
    </li>
    <li class="mvd-P">
        <span style="FONT-STYLE: italic">Subsystem Stereotype Package and Subsystem Stereotype Sample</span>
    </li>
</ul>
<h3>
    2. <a id="Creating Subsystem Interfaces" name="Creating Subsystem Interfaces"></a>创建子系统接口
</h3>
<p>
    请参阅<a class="elementLinkWithUserText" href="./../../../rup/guidances/toolmentors/manage_interfaces_54F93981.html" guid="{C7B694E4-94A5-42F6-9807-E63020E20250}">工具向导：管理接口</a>。
</p>
<p>
    在本步骤中，您将启用“子系统代理”，以便提供由该子系统实现的接口所定义的全部操作。要执行此操作，请首先在子系统程序包中新建一个类图，并将其命名为“接口实现”。然后可将该“子系统代理”类拖放到新建的图中。您应使用 Rational Rose
    的绘制工具来绘制从“子系统代理”类到该代理所实现的接口类的实现依赖关系，以便确保所有接口操作都在“子系统代理”类中定义。这可能需要创建一个或多个对“子系统代理”类的操作。请参阅<a class="elementLinkWithUserText" href="./../../../rup/guidances/toolmentors/manage_class_E87F7860.html" guid="{234EB01D-88DF-4EBC-B806-CAA81CD2BF13}">工具向导：管理类</a>获取更多信息。
</p>
<p>
    <img height="16" alt="帮助手册图标" hspace="0" src="./../../../rup/resources/helpbook.gif" width="16" border="0" />有关更多信息，请参考 Rational
    Rose 联机帮助中的以下主题：
</p>
<ul>
    <li class="mvd-P">
        <span style="FONT-STYLE: italic">Realize Relationship</span>
    </li>
    <li class="mvd-P">
        <span style="FONT-STYLE: italic">Interface</span>
    </li>
</ul>
<h3>
    3.<a id="Creating Classes within the Subsystem" name="Creating Classes within the Subsystem"></a>在子系统内创建类
</h3>
<p>
    要在子系统内部创建类，请参阅<a class="elementLinkWithUserText" href="./../../../rup/guidances/toolmentors/manage_class_E87F7860.html" guid="{234EB01D-88DF-4EBC-B806-CAA81CD2BF13}">工具向导：管理类</a>。
</p>
<p>
    除子系统的“子系统代理”之外，子系统的所有内容对于该子系统外部的模型元素均应为“不可见”。可通过在“类规约”中将类导出控制设置为“实现”来执行该操作。理想情况下，子系统实现的接口应在代表子系统的程序包外部定义（以便子系统可以轻松替换），但如果在代表子系统的程序包内部定义，则必须也为可见。
</p>
<h3>
    4. <a id="Documenting Package and Subsystem Dependencies" name="Documenting Package and Subsystem Dependencies"></a>记录程序包与子系统的依赖关系
</h3>
<p>
    应在“设计模型”中记录程序包与子系统之间的依赖关系。要执行此操作，请为“设计模型”新建一个类图，并将其命名为“程序包／子系统依赖关系”。然后可将程序包和子系统从浏览器拖放到新建的图中。将自动显示所有现有依赖关系。也可以在图中以可视化方式将程序包与子系统安排到层中，并使用“文本框”工具图标对层进行注释。最后，可以使用“依赖关系”工具图标创建程序包与子系统之间的更多依赖关系。
</p>
<p>
    <img height="16" alt="帮助手册图标" hspace="0" src="./../../../rup/resources/helpbook.gif" width="16" border="0" /> 有关更多信息，请参阅
    Rational Rose 联机帮助中的 <span style="FONT-STYLE: italic">Dependency Relationship</span> 主题：
</p>
<h3>
    5. <a id="Documenting Subsystem Contents" name="Documenting Subsystem Contents"></a>记录子系统内容
</h3>
<p>
    每个程序包和子系统都应包含一个或多个类图，用于记录和说明该程序包／子系统中包含的类。
</p>
<h3>
    6. <a id="Documenting Subsystem Behavior" name="Documenting Subsystem Behavior"></a>记录子系统行为
</h3>
<p>
    每个子系统都应具有一个或多个时序图，用于说明如何将该子系统接口提供的操作分发到子系统的内容中。有关更多详细信息，请参阅<a class="elementLinkWithUserText" href="./../../../rup/guidances/toolmentors/manage_sequence_diagrams_C11A1E78.html" guid="{70C1E98C-D6AC-4278-8554-1E000AF5A57D}">工具向导：管理时序图</a>。
</p>
<p>
    时序图应说明子系统中包含的模型元素如何执行子系统接口提供的特定操作。这些“接口操作”图中最左边的对象应为“子系统代理”类。其余的对象代表子系统的私有类。这些对象之间的消息说明接口操作的实现方式。
</p>
<p>
    建议将该图命名为 <font face="Courier New" size="2">“&lt;interface name&gt;::&lt;operation
    name&gt;”</font>。此命名约定可简化将来对实现这些接口操作的类的接口行为进行跟踪。
</p></td>
</tr>
</table>
</div>
<table class="copyright" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="copyright">Copyright &copy; 2008 版权所有 东软集团股份有限公司&nbsp; 联系邮箱:<a href="mailto:tcoe@neusoft.com">tcoe@neusoft.com</a></td>
</tr>
</table>
</td>
</tr>
</table>
</body>
<script type="text/javascript" language="JavaScript">
				contentPage.onload();
			</script>
</html>
